<?php
/**
 * アプリケーション例外
 * 
 * @author tanaka
 * @package Exception
 * @subpackage App
 */
class AppException extends Zend_Exception
{
	protected $_showMessage;
	
	/**
	 * コンストラクタ
	 * 
	 * @param string $innnerMessage 内部メッセージ
	 * @param int optional $responseCode レスポンスコード
	 * @param string optional $showMessage 表示メッセージ
	 * @param Exception optional $previous
	 * @return void
	 */
	public function __construct($innnerMessage = '', $responseCode = 500, $showMessage='', Exception $previous=null)
	{
		parent::__construct($innnerMessage, $responseCode, $previous);
		
		$this->_showMessage = $showMessage;
	}
	
	/**
	 * 表示するメッセージを返します。
	 * 
	 * @return string
	 */
	public function getShowMessage()
	{
		return $this->_showMessage;
	}
	
	/**
	 * 表示用メッセージがあるか返します。
	 * 
	 * @return bool
	 */
	public function hasShowMessage()
	{
		return strlen($this->_showMessage) != 0;
	}
}